package foroweb.controllers;

import foroweb.ejb.*;
import foroweb.entidades.*;
import java.io.*;
import java.net.URLEncoder;
import java.util.logging.*;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.*;
import javax.faces.context.*;

@ManagedBean
@ViewScoped
public class EditarMensajeController implements Serializable{
    
    //Atributos
    @EJB
    private AccionMensaje am;
    private Mensaje mensaje;

    //Constructores
    public EditarMensajeController(){
        
    }

    //Getters y Setters
    public Mensaje getMensaje() {
        return mensaje;
    }
    public void setMensaje(Mensaje mensaje) {
        this.mensaje = mensaje;
    }

    //Metodos
    public String editar(){
        ComprobarRol cr=new ComprobarRol();
        if(cr.checkUser(mensaje.getUsuario().getNick()) || cr.checkMod(mensaje.getHilo().getSeccion())){
            am.modificar(mensaje);
        }else{
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Debes ser el usuario del mensaje, un administrador o un moderador de esta seccion." ,null));
        }
        ExternalContext extC = FacesContext.getCurrentInstance().getExternalContext();
        String charEncondig = extC.getRequestCharacterEncoding();
        try {
            String name = URLEncoder.encode("idhilo", charEncondig);
            String value = URLEncoder.encode(""+mensaje.getHilo().getId(), charEncondig);
            String viewId = extC.getRequestContextPath() + "/hilo.faces?" + name +"=" + value;
            String urlLink = extC.encodeActionURL(viewId);
            extC.redirect(urlLink);
        } catch (IOException ex) {
            Logger.getLogger(EditarMensajeController.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }
}
